package com.michale.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.michale.common.domain.tool.JobEntity;
import io.swagger.annotations.Api;

import java.util.List;


/**
 * @author Michale
 * @apiNote 定时任务调度 服务层
 */
@Api(value = "定时任务调度-服务类")
public interface JobService extends IService<JobEntity> {
    /**
     * 查询定时任务调度
     *
     * @param jobId 定时任务调度主键
     * @return 定时任务调度
     */
    JobEntity selectJobByJobId(Long jobId);

    /**
     * 查询定时任务调度列表
     *
     * @param jobEntity 定时任务调度
     * @return 定时任务调度集合
     */
    List<JobEntity> selectJobList(JobEntity jobEntity);

    /**
     * 新增定时任务调度
     *
     * @param jobEntity 定时任务调度
     * @return 结果
     */
    int insertJob(JobEntity jobEntity);

    /**
     * 修改定时任务调度
     *
     * @param jobEntity 定时任务调度
     * @return 结果
     */
    int updateJob(JobEntity jobEntity);

    /**
     * 批量删除定时任务调度
     *
     * @param jobIds 需要删除的定时任务调度主键集合
     * @return 结果
     */
    int deleteJobByJobIds(Long[] jobIds);

    /**
     * 删除定时任务调度信息
     *
     * @param jobId 定时任务调度主键
     * @return 结果
     */
    int deleteJobByJobId(Long jobId);

    /**
     * 修改定时任务调度状态
     *
     * @param jobEntity 修改参数
     */
    int changeStatus(JobEntity jobEntity);
}
